package leetcode_周赛._2021._202104._20210418;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

/**
 * @author yzh
 * @version 1.0
 * @date 2021/4/18 10:53
 * 单线程 CPU
 * 把进来时间相同的任务放在一起，使用 map 存储
 * 使用 cur 存储当前时间
 * 选择 >= cur 并且耗时最少的任务先执行
 */
public class _5736 {

    public int[] getOrder(int[][] tasks) {
        Map<Integer, Map<Integer, Integer>> map = new HashMap<>();
        for (int i = 0; i < tasks.length; i++) {
            Map<Integer, Integer> orDefault = map.getOrDefault(tasks[i][0], new HashMap<>());
            orDefault.put(i, tasks[i][1]);
            map.put(tasks[i][0], orDefault);
        }
        int cur = 0, flag = 0;
        int[] ans = new int[tasks.length];
        // 每次选出要执行的任务
        while (flag != 4) {
            Set<Map.Entry<Integer, Map<Integer, Integer>>> entries = map.entrySet();
            for (Map.Entry<Integer, Map<Integer, Integer>> entry : entries) {
                if (entry.getKey() >= cur) {

                }
            }
            ++flag;
        }
        return ans;
    }
}
